Tools for Exploring and Editing Crosscutting Concerns

نویسنده

  • Doug Janzen
چکیده

Typical programming languages allow only a single decomposition of a program into source files. This results in concerns that are difficult to work with because they cut across the primary decomposition. Current development environments do not provide adequate support for working with crosscutting structure because multiple tools are required to perform even simple explorations, forcing the developer to remember how parts of the code are related to one another, and causing disorientation by having to switch back and forth between multiple views. Furthermore editing of crosscutting structure must be done within the context of the single decomposition provided by the source files. In this thesis we present the design and implementation of two prototype tools for working with crosscutting structure. With the JQuery protoype developers can construct many kinds of browsers by writing queries over program structure, and then incrementally extend these browsers to explore complex relationships between various code elements. With JQuery developers are able to perform complex explorations in the context of a single view, reducing disorientation. Their exploration path is explicitly maintained, thus reducing cognitive overhead. A case study was conducted that provides preliminary evidence for the usefulness of JQuery in performing a realistic development task involving crosscutting concerns. The Decal prototype supports the editing of crosscutting structure through the use of virtual source files (VSFs) that provide two mutally crosscutting points of view. In the classes view each VSF contains all the declarations related to a particular class. The modules view provides an alternate decomposition where each VSF may contain declarations from multiple classes. Each VSF is generated from a single common representation of the program strucure so that edits to a VSF in one view will be reflected in VSFs from the other view. By using Decal developers are not restricted to editing programs according to the single primary decomposition, but are able to choose either one of two decompositions that is most suitable to the particular task at hand.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Aspect-Oriented Reengineering of an Object-oriented Library in a Short Iteration Agile Process

Aspect-oriented reengineering aims to modularize crosscutting concerns in an existing system using a new abstraction called an aspect. Code concerns may be tangled and scattered throughout an existing code base thus hampering maintenance. This paper describes the reengineering of an object-oriented software library called GEF using aspect-oriented techniques as an integral activity in an agile ...

متن کامل

Crosscutting Revisited : The Impact of Historical Research into Early Cinema on A Key Element of Classical

According to traditional film histories, crosscutting is the cornerstone of the classical aesthetic in cinema. Numerous scholarly studies have been carried out on this crucial aspect of classical narrative film language. It is maintained that crosscutting’s “multiple lines of action” must take place in “widely separated locales” (Bordwell, Staiger and Thompson, 1985: 48). The use of such ambigu...

متن کامل

GT4CCI: An Approach Based on Grounded Theory for Crosscutting Concerns Identification in Requirements Documents

When crosscutting concerns identification is performed on the activities involved in requirements engineering there are many gains in terms of quality, cost and efficiency throughout the lifecycle of software development. However, despite these gains, this identification faces several difficulties such as the lack of systematization and tools that support it and the difficult to justify why som...

متن کامل

CrossMDA: a Model-driven Approach for Aspect Management

Nowadays, the complexity of software applications has brought new challenges to developers, having to deal with a large number of computational requirements. Among these requirements, those known as crosscutting concerns transpass components boundaries, leading to maintainability and comprehension problems. This paper presents CrossMDA, a framework that encompasses a transformation process to i...

متن کامل

Identification of Crosscutting Concerns: A Survey

Modularization of concerns is important for software development. Object oriented programming paradigm provides an ease of modularization of basic concerns. There are some concerns whose implementation cannot be modularized using object oriented paradigm like profiling, logging etc. The implementation of such concerns remains scattered throughout the source code. Such concerns are called crossc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004